package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @desc ImplementGenerateWorkTaskDoneMsgComReqDto
 * @使用场景
 */
@Data
public class ImplementGenerateWorkTaskDoneMsgComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 工作任务对象类型 PROJECT:项目 TASK:任务 PROBLEM:问题
     */
    @NotNull(message = "工作任务对象类型不能为空")
    @ApiModelProperty("工作任务对象类型")
    private String workTaskObjectType;

    /**
     * 工作任务对象ID
     */
    @NotNull(message = "工作任务对象ID不能为空")
    @ApiModelProperty("工作任务对象ID")
    private String workTaskObjectId;

    /**
     * 安排主体类型编码 OMS_ORG_ORGANIZATION:组织表 OMS_ORG_DEPT:部门表
     */
    @NotNull(message = "安排主体类型编码不能为空")
    @ApiModelProperty("安排主体类型编码")
    private String arrangeSubjectTypeCode;

    /**
     * 安排主体ID
     */
    @NotNull(message = "安排主体ID不能为空")
    @ApiModelProperty("安排主体ID")
    private String arrangeSubjectId;

    /**
     * 接收部门ID
     */
    @NotNull(message = "接收部门ID不能为空")
    @ApiModelProperty("接收部门ID")
    private String receiveSubjectId;

    /**
     * 进度值（数值）
     */
    @NotNull(message = "进度值（数值）不能为空")
    @ApiModelProperty("进度值（数值）")
    private Double progressValue;

    /**
     * 是否逾期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否逾期")
    private String isOverdue;

    /**
     * 计划结束时间
     */
    @ApiModelProperty("计划结束时间")
    private Date planEndTime;

}
